'use strict'

define([ 'jquery', 'swiper', 'bootstrap', 'select2', 'shiftform', 'validate',
    'validate.en', 'datetimepicker'], function($, Swiper) {
  return {
      init : function() {
          
          this.initPage();
          this.initClickQuestion();
          this.start();
          this.submit();
          
        },
        
        initPage : function() {
          
          $('.practice-option').click(function() {
            var that = this
            
            var qualify = $(this).find("div").data("qualify");
            var score = $(this).find("div").data("option");
            $(this).parent("tr").find(".score").empty().append("<span>" + score + "</span>");
            $(this).addClass("color-level").siblings().removeClass("color-level");
            
            var qualifyName = 'qualify' + qualify + 'Score';
            $('input[name="' + qualifyName + '"]').val(score);
          
          })
        },
        
        initClickQuestion: function() {
          var mySwiper = new Swiper ('.swiper-container', {
            simulateTouch : false,
            pagination: {
              el: '.swiper-pagination',
              bulletElement : 'li',
              clickable :true,
            },
          })
          
          $(document).on("click", ".beautify-radio input[type='radio']", function(e) {
            var activeIndex = mySwiper.activeIndex;
            $(".swiper-pagination-bullet").eq(activeIndex).addClass("completed")
            mySwiper.slideNext();
          })
        },
        
        start: function() {
            var that = this
            $(document).on('shown.bs.modal', '#start', function(e){
                  
                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
                  
                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                  beforeSubmit : function(el) {
                    $form.trigger("validate.ajax.submit");
                    return $.bt_validate.result[$.bt_validate.form_id]
                  }
                })
            })
        }
        ,
        submit: function() {
            var that = this
            $(document).on('shown.bs.modal', '#submit', function(e){
                  
                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
                  
                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                  beforeSubmit : function(el) {
                    $form.trigger("validate.ajax.submit");
                    return $.bt_validate.result[$.bt_validate.form_id]
                  }
                })
            })
        }
        ,
        edit: function() {
            var that = this
            $(document).on('shown.bs.modal', '#edit', function(e){
                  
                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
                  
                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                  beforeSubmit : function(el) {
                    $form.trigger("validate.ajax.submit");
                    return $.bt_validate.result[$.bt_validate.form_id]
                  }
                })
            })
        }
  }
})